Moderate: squid security and bug fix update

Related Vulnerabilities: CVE-2012-5643   CVE-2012-5643  

Synopsis

Moderate: squid security and bug fix update

Type/Severity

Security Advisory: Moderate

Topic

Updated squid packages that fix one security issue and several bugs are now
available for Red Hat Enterprise Linux 6.

The Red Hat Security Response Team has rated this update as having moderate
security impact. A Common Vulnerability Scoring System (CVSS) base score,
which gives a detailed severity rating, is available from the CVE link in
the References section.

Description

Squid is a high-performance proxy caching server for web clients that
supports FTP, Gopher, and HTTP data objects.

A denial of service flaw was found in the way the Squid Cache Manager
processed certain requests. A remote attacker who is able to access the
Cache Manager CGI could use this flaw to cause Squid to consume an
excessive amount of memory. (CVE-2012-5643)

This update also fixes the following bugs:

  • Due to a bug in the ConnStateData::noteMoreBodySpaceAvailable() function,
    child processes of Squid terminated upon encountering a failed assertion.
    An upstream patch has been provided and Squid child processes no longer
    terminate. (BZ#805879)
  • Due to an upstream patch, which renamed the HTTP header controlling
    persistent connections from "Proxy-Connection" to "Connection", the NTLM
    pass-through authentication does not work, thus preventing login. This
    update adds the new "http10" option to the squid.conf file, which can be
    used to enable the change in the patch. This option is set to "off" by
    default. When set to "on", the NTLM pass-through authentication works
    properly, thus allowing login attempts to succeed. (BZ#844723)
  • When the IPv6 protocol was disabled and Squid tried to handle an HTTP GET
    request containing an IPv6 address, the Squid child process terminated due
    to signal 6. This bug has been fixed and such requests are now handled as
    expected. (BZ#832484)
  • The old "stale if hit" logic did not account for cases where the stored
    stale response became fresh due to a successful re-validation with the
    origin server. Consequently, incorrect warning messages were returned. Now,
    Squid no longer marks elements as stale in the described scenario.
    (BZ#847056)
  • When squid packages were installed before samba-winbind, the wbpriv group
    did not include Squid. Consequently, NTLM authentication calls failed. Now,
    Squid correctly adds itself into the wbpriv group if samba-winbind is
    installed before Squid, thus fixing this bug. (BZ#797571)
  • In FIPS mode, Squid was using private MD5 hash functions for user
    authentication and network access. As MD5 is incompatible with FIPS mode,
    Squid could fail to start. This update limits the use of the private MD5
    functions to local disk file hash identifiers, thus allowing Squid to work
    in FIPS mode. (BZ#833086)
  • Under high system load, the squid process could terminate unexpectedly
    with a segmentation fault during reboot. This update provides better memory
    handling during reboot, thus fixing this bug. (BZ#782732)
  • Squid incorrectly set the timeout limit for client HTTP connections with
    the value for server-side connections, which is much higher, thus creating
    unnecessary delays. With this update, Squid uses a proper value for the
    client timeout limit. (BZ#798090)
  • Squid did not properly release allocated memory when generating error
    page contents, which caused memory leaks. Consequently, the Squid proxy
    server consumed a lot of memory within a short time period. This update
    fixes this memory leak. (BZ#758861)
  • Squid did not pass the ident value to a URL rewriter that was configured
    using the "url_rewrite_program" directive. Consequently, the URL rewriter
    received the dash character ("–") as the user value instead of the correct
    user name. Now, the URL rewriter receives the correct user name in the
    described scenario. (BZ#797884)
  • Squid, used as a transparent proxy, can only handle the HTTP protocol.
    Previously, it was possible to define a URL in which the access protocol
    contained the asterisk character (*) or an unknown protocol namespace URI.
    Consequently, an "Invalid URL" error message was logged to access.log
    during reload. This update ensures that "http://" is always used in
    transparent proxy URLs, and the error message is no longer logged in this
    scenario. (BZ#720504)

All users of squid are advised to upgrade to these updated packages, which
fix these issues. After installing this update, the squid service will be
restarted automatically.

Solution

Before applying this update, make sure all previously-released errata
relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
https://access.redhat.com/knowledge/articles/11258

Affected Products

  • Red Hat Enterprise Linux Server 6 x86_64
  • Red Hat Enterprise Linux Server 6 i386
  • Red Hat Enterprise Linux Workstation 6 x86_64
  • Red Hat Enterprise Linux Workstation 6 i386
  • Red Hat Enterprise Linux for IBM z Systems 6 s390x
  • Red Hat Enterprise Linux for Power, big endian 6 ppc64
  • Red Hat Enterprise Linux Server from RHUI 6 x86_64
  • Red Hat Enterprise Linux Server from RHUI 6 i386

Fixes

  • BZ - 797571 - squid userid not added to wbpriv group
  • BZ - 798090 - client timeout uses server-side "read_timeout", not "request_timeout"
  • BZ - 832484 - Squid exits due to signal 6 when IPv6 is disabled and HTTP GET request contains IPv6 address
  • BZ - 833086 - squid uses a private md5 hash function for user auth, bypassing FIPS 140-2 restrictions
  • BZ - 844723 - The NTLM pass-through authentication doesn't work via squid-3.1.10
  • BZ - 847056 - squid incorrectly marks elements as stale when the client uses If-Modified-Since and If-None-Match headers
  • BZ - 887962 - CVE-2012-5643 squid: cachemgr.cgi memory usage DoS and memory leaks

CVEs

References